﻿/**********************************************************************
 * @file   Operators3DWindowToolBar.h
 * @brief  3D窗口视角工具栏
 * @author wangning (2185896382@qq.com)
 * @date   2024-11-16
 *********************************************************************/
#ifndef _Operators3DWindowToolBar_H_
#define _Operators3DWindowToolBar_H_

#include "FITK_Kernel/FITKCore/FITKActionOperator.h"
#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"
#include "FITK_Kernel/FITKCore/FITKThreadTask.h"


namespace ModelOper
{
    /**
     * @brief  3D窗口视角工具栏
     */
    class Operators3DWindowToolBar :public Core::FITKActionOperator
    {
        Q_OBJECT;
    public:
        explicit Operators3DWindowToolBar() = default;
        virtual ~Operators3DWindowToolBar() = default;

        virtual bool execGUI() override;

        virtual bool execProfession() override;
    };

    // 按钮注册相关操作
    Register2FITKOperatorRepo(actionViewFront, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewBack, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewTop, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewBottom, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewLeft, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewRight, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewIso, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewAuto, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionSaveImage, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewParallel, Operators3DWindowToolBar);
    Register2FITKOperatorRepo(actionViewPerspective, Operators3DWindowToolBar);
}

#endif